home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / swags_z.zip / SCREEN.SWG / 0058_Capturing Video Strings.pas < prev    next >
Pascal/Delphi Source File  |  1994-01-27  |  808b  |  24 lines

  1. {
  2. > I am writing some Pascal Units for speech synthesis to be added
  3. > to a DOS based application. In a part of the application, character
  4. > strings are written to the screen. I need to capture those
  5. > strings from the video buffer and pass them as parameters to
  6. > some functions. How do I do this? If anyone can provide code,
  7. > I would really appreciate it!
  8.  
  9. Well, that's easy, with an CGA/EGA/VGA graphics card, the video
  10. memory resides at $B800:0000, and is always Character-Attribute,
  11. two bytes, so to grab something from screen try this:
  12. }
  13.  
  14. function onscreen(where_x, where_y, how_long : byte);
  15. var
  16.   dumb : string;
  17.   x    : word;
  18. begin
  19.   dumb := '';
  20.   for x := 0 to how_long - 1 do
  21.     dumb := dumb + chr(mem[$b800 : where_y * 160 + (where_x + x * 2)]);
  22.   onscreen := dumb;
  23. end.
  24.